package com.qujia.station.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.qujia.station.enums.ReceiptType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @date 2024/1/23
 */
@Setter
@Getter
@ApiModel("receipt_section_field")
public class ReceiptSectionField implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty("id")
    private Long id;

    /**
     * 油企id，为零是默认设置
     */
    @ApiModelProperty("油企id，为零是默认设置")
    private Long enterpriseId;

    /**
     * 小票类型，0-消费小票(商户联)消费小票(商户联)，1-消费小票(顾客联)
     */
    @ApiModelProperty("小票类型，0-消费小票(商户联)消费小票(商户联)，1-消费小票(顾客联)")
    private ReceiptType receiptType;

    /**
     * 小票内容块id，receipt_section表id
     */
    @ApiModelProperty("小票内容块id，receipt_section表id")
    private Long sectionId;

    /**
     * 内容块名称，receipt_section表section_name
     */
    @ApiModelProperty("内容块名称，receipt_section表section_name")
    private String sectionName;

    /**
     * 字段名称，每个section内唯一
     */
    @ApiModelProperty("字段名称，每个section内唯一")
    private String fieldName;

    /**
     * 字段标题，打印的名字
     */
    @ApiModelProperty("字段标题，打印的名字")
    private String fieldTitle;

    /**
     * 字段表达式
     */
    @ApiModelProperty("字段表达式")
    private String fieldExpress;

    /**
     * 自定义字段，0-不是，1-是
     */
    @ApiModelProperty("自定义字段，0-不是，1-是")
    private Integer customFlag;

    /**
     * 自定义内容，设置该字段后则fieldExpress不生效
     */
    @ApiModelProperty("自定义内容，设置该字段后则fieldExpress不生效")
    private String fieldCustomContent;

    /**
     * 字段title样式
     */
    @ApiModelProperty("字段title样式")
    private String fieldTitleStyle;

    /**
     * 字段值样式
     */
    @ApiModelProperty("字段值样式")
    private String fieldStyle;

    /**
     * 示例，前端展示用
     */
    @ApiModelProperty("示例，前端展示用")
    private String example;

    /**
     * 打印顺序
     */
    @ApiModelProperty("打印顺序")
    private Integer fieldOrder;

    /**
     * 是否打印，0-不打印，1-打印
     */
    @ApiModelProperty("是否打印，0-不打印，1-打印")
    private Integer printEnabled;

    /**
     * 控制该行是否打印表达式，表达式为false整行不打印，字段为null不判断
     */
    @ApiModelProperty("控制该行是否打印表达式，表达式为false整行不打印，字段为null不判断")
    private String linePrintExpress;

    /**
     * create_time
     */
    @ApiModelProperty("create_time")
    private LocalDateTime createTime;

    /**
     * create_by
     */
    @ApiModelProperty("create_by")
    private String createBy;

    /**
     * update_time
     */
    @ApiModelProperty("update_time")
    private LocalDateTime updateTime;

    /**
     * update_by
     */
    @ApiModelProperty("update_by")
    private String updateBy;

    /**
     * 0-未删除，1-删除
     */
    @ApiModelProperty("0-未删除，1-删除")
    @TableLogic(value = "0",delval = "1")
    private Integer delFlag;
}
